//配置信息验证规则
const joi = require("@hapi/joi")
/**
 * string() 值必须是字符串
 * alphanum() 值只能是包含 a-zA-Z0-9 的字符串
 * min(length) 最小长度
 * max(length) 最大长度
 * required() 值是必填项，不能为 undefined
 * pattern(正则表达式) 值必须符合正则表达式的规则
 */
//配置用户名验证规则
const username = joi.string().alphanum().min(1).max(11).required().error(new Error('用户名或密码不能为空! '));

//配置密码验证规则
const password = joi.string().pattern(/^[\S]{6,12}$/).required().error(new Error('用户名或密码不能为空! '));

//配置头像路径验证规则
const avatar = joi.string().required().dataUri()
//暴露验证规则
module.exports = {
    // 表示需要对 req.body 中的数据进行验证
    reg_login_schema: {
        body: {
            username,
            password
        }
    },
    reg_password_schema: {
        body: {
            oldPwd: password,
            newPwd: joi.not(joi.ref('oldPwd')).concat(password),
        }
    },
    reg_avatar_schema: {
        body: {
            avatar,
        }
    }


}
